package com.ruoyi.exa.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 批次员工对象 exa_bitch_user
 * 
 * @author linziheng
 * @date 2025-06-13
 */
@Data
@ApiModel(value = "ExaBitchUser", description = "批次员工对象")
public class ExaBitchUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("ID")
    private Long id;

    private Long answerTime;

    private Long parperScore;

    /** 批次ID */
    @ApiModelProperty("批次ID")
    private Long bitchId;

    /** 批次名称 */
    @Excel(name = "批次名称")
    @ApiModelProperty("批次名称")
    private String bitchName;

    /** 用户ID */
    @ApiModelProperty("用户ID")
    private Long userId;

    /** 试卷名称 */
    @ApiModelProperty("试卷名称")
    private Long parperId;

    private String spaceId;
    private String sysPostId;

    /** 工区名称 */
    @Excel(name = "工区名称")
    @ApiModelProperty("工区名称 数据字典 工区-space")
    private String spaceName;

    /** 岗位名称 */
    @Excel(name = "岗位名称")
    @ApiModelProperty("岗位名称")
    private String sysPostName;



    /** 用户名称 */
    @Excel(name = "用户名称")
    @ApiModelProperty("用户名称")
    private String userName;

    /** 分数 */
    @Excel(name = "分数")
    @ApiModelProperty("分数")
    private Long score;

    /** 用时 */
    @Excel(name = "用时(秒)")
    @ApiModelProperty("用时")
    private Long userTime;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("提交时间")
    private Date commitTime;

    /** 是否通过 数据字典 系统是否-sys_yes_no*/
    @Excel(name = "是否通过",readConverterExp = "0=否,1=是,2=没开始答题,3=判卷")
    @ApiModelProperty("是否通过 数据字典 系统是否-sys_yes_no")
    private String isPass;

    @Excel(name = "状态",readConverterExp = "0=未开始,1=进行中,2=已完成,3=已结束,4=未完成")
    @ApiModelProperty("当前状态 数据字典 试卷状态-parper_status")
    private String status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 是否中途退出（0否 1是）*/
    private Integer isQuit;

    /** 中途退出剩余时间 */
    private Long remainingTime;

    public String getSpaceId() {
        return spaceId;
    }

    public void setSpaceId(String spaceId) {
        this.spaceId = spaceId;
    }

    public String getSysPostId() {
        return sysPostId;
    }

    public void setSysPostId(String sysPostId) {
        this.sysPostId = sysPostId;
    }

    public String getSysPostName() {
        return sysPostName;
    }

    public void setSysPostName(String sysPostName) {
        this.sysPostName = sysPostName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getIsQuit() {
        return isQuit;
    }

    public void setIsQuit(Integer isQuit) {
        this.isQuit = isQuit;
    }

    public Long getRemainingTime() {
        return remainingTime;
    }

    public void setRemainingTime(Long remainingTime) {
        this.remainingTime = remainingTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBitchId(Long bitchId) 
    {
        this.bitchId = bitchId;
    }

    public Long getBitchId() 
    {
        return bitchId;
    }

    public void setBitchName(String bitchName) 
    {
        this.bitchName = bitchName;
    }

    public String getBitchName() 
    {
        return bitchName;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setParperId(Long parperId) 
    {
        this.parperId = parperId;
    }

    public Long getParperId() 
    {
        return parperId;
    }

    public void setSpaceName(String spaceName) 
    {
        this.spaceName = spaceName;
    }

    public String getSpaceName() 
    {
        return spaceName;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setScore(Long score) 
    {
        this.score = score;
    }

    public Long getScore() 
    {
        return score;
    }

    public void setUserTime(Long userTime) 
    {
        this.userTime = userTime;
    }

    public Long getUserTime() 
    {
        return userTime;
    }

    public void setCommitTime(Date commitTime) 
    {
        this.commitTime = commitTime;
    }

    public Date getCommitTime() 
    {
        return commitTime;
    }

    public void setIsPass(String isPass) 
    {
        this.isPass = isPass;
    }

    public String getIsPass() 
    {
        return isPass;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bitchId", getBitchId())
            .append("bitchName", getBitchName())
            .append("userId", getUserId())
            .append("parperId", getParperId())
            .append("spaceName", getSpaceName())
            .append("userName", getUserName())
            .append("score", getScore())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("userTime", getUserTime())
            .append("commitTime", getCommitTime())
            .append("isPass", getIsPass())
            .toString();
    }
}
